<?php

/*
 * NA TABELA DE PERIODO_FERIAS QUANDO TIPO_PERIODO FOR:
 * 0 = PERIODO DE FERIAS
 * 1 = PERIODO DE ABONO
 * 2 = PERIODO AQUISITIVO
 */

function ferias_retornaFuncionariosComFerias($conexao){
    $sql_ferias = sprintf("select matricula,
                          matriculaCliente,
                          nome,
                          cargaHoraria,
                          idFerias,
                          obs_ferias,
                          situacao_ferias
                  from funcionario inner join ferias
                          on matricula = fkfuncionario where contrato = 'CLT'");
    $query_ferias = mysqli_query($conexao, $sql_ferias);
    $dadosFerias = array();
    while ($resultadoFerias = mysqli_fetch_array($query_ferias)){

        $dadosPeriodosFerias = array();
        $dadosPeriodosAbono = array();
        $dadosPeriodosAquisitivo = array();

        $sql_periodos = sprintf("select * from periodo_ferias where FKferias = %d",$resultadoFerias['idFerias']);
        $query_periodos = mysqli_query($conexao, $sql_periodos);
        while ($resultadoPeriodos = mysqli_fetch_array($query_periodos)){

            if ($resultadoPeriodos['tipo_periodo'] == 0){
                // PERIODO DE FERIAS
                $dadosPeriodosFerias[] = array(   "idPeriodoFerias" => $resultadoPeriodos['idPeriodoFerias'],
                    "dataInicio" => $resultadoPeriodos['dataInicio'],
                    "dataFim" => $resultadoPeriodos['dataFim'],
                    "tipo_periodo" => $resultadoPeriodos['tipo_periodo']);
                // PERIODO ABONO
            } else if ($resultadoPeriodos['tipo_periodo'] == 1){
                $dadosPeriodosAbono[] = array(   "idPeriodoFerias" => $resultadoPeriodos['idPeriodoFerias'],
                    "dataInicio" => $resultadoPeriodos['dataInicio'],
                    "dataFim" => $resultadoPeriodos['dataFim'],
                    "tipo_periodo" => $resultadoPeriodos['tipo_periodo']);

              // PERIODO AQUISITIVO
            } else if ($resultadoPeriodos['tipo_periodo'] == 2){
                $dadosPeriodosAquisitivo[] = array(   "idPeriodoFerias" => $resultadoPeriodos['idPeriodoFerias'],
                    "dataInicio" => $resultadoPeriodos['dataInicio'],
                    "dataFim" => $resultadoPeriodos['dataFim'],
                    "tipo_periodo" => $resultadoPeriodos['tipo_periodo']);
            }

            switch ($resultadoFerias['situacao_ferias']){
                case 0:
                    $situacao = "Agendado";
                    break;
                case 1:
                    $situacao = "Confirmado";
                    break;
                case 2:
                    $situacao = "Cancelado";
                    break;
            }
        }
        $dadosFerias [] = array(    "matricula" => $resultadoFerias['matricula'],
                                    "matriculaCliente" => $resultadoFerias['matriculaCliente'],
                                    "nome" => utf8_encode($resultadoFerias['nome']),
                                    "cargaHoraria" => $resultadoFerias['cargaHoraria'],
                                    "idFerias" => $resultadoFerias['idFerias'],
                                    "obs_ferias" => utf8_encode($resultadoFerias['obs_ferias']),
                                    "situacao_ferias" => $situacao,
                                    "matricula" => $resultadoFerias['matricula'],
                                    "dataInicioFerias" => $dadosPeriodosFerias[0]['dataInicio'],
                                    "dataFimFerias" => $dadosPeriodosFerias[0]['dataFim']
                            );
    }
    return $dadosFerias;
}


function ferias_retornaFuncionarios($conexao){
    $sql = ("SELECT matricula, matriculaCliente, nome, cargaHoraria from funcionario order by nome ASC");
    $query = mysqli_query($conexao, $sql );

    return $query;
}

function ferias_procuraFuncionario($conexao, $matricula){
    $sql = sprintf("select matricula, matriculaCliente, nome, gerencia from funcionario where matricula = '%s'",$matricula);
    $query = mysqli_query($conexao, $sql);
    $resultado = mysqli_fetch_array($query);

    return $resultado;
}

function ferias_cadastraFerias($conexao, $dataInicioFerias, $dataFimFerias, $dataInicioAbono, $dataFimAbono, $obs, $situacao, $fkfuncionario){
    if (is_numeric($situacao)){
        if (empty($obs)){
            $obs = null;
        }
        if (empty($dataInicioAbono)){
            $dataInicioAbono = null;
        }
        if ($dataFimAbono){
            $dataFimAbono = null;
        }

        $sql = sprintf("INSERT INTO ferias VALUES (null, '%s', '%s', '%s', '%s','%s', %d, '%s' )",
                        $dataInicioFerias,$dataFimFerias,$dataFimFerias, $dataInicioAbono, $obs, $situacao, $fkfuncionario );
        mysqli_query($conexao,$sql);
        return true;
    } else {
        return false;
    }

}

?>